// 历史观看
export default {
	data() {
		return {
			logVideoIDlist:[],//历史播放记录(视频id)数组
			logVideoItemList:[],//历史播放记录(视频Item)数组
			logVideoIDlistText:'',//存储历史播放记录(视频id)数组,用于请求指定的id视频数据
		}
	},
	onLoad(){
		
	},
	watch:{
		// 首次启动，系统配置不为空
		// 请求更新历史记录
		xtsetting:function(e){
			if (e != undefined){
				this.getLogVideoInit()
			}
		}
	},
	onShow(){
		console.log("页面显示了")
		//获取接口地址
		let APIjiekoUrl = this.xtsetting.APIjiekoUrl
		if (APIjiekoUrl){
			console.log("接口地址不为空，更新历史记录")
			// 执行更新历史记录
			this.getLogVideoInit()
		}else {
			console.log("接口地址为空，首页首次显示")
		}
	},
	methods:{
		// 获取历史记录相关
		async getLogVideoInit(){
			// 获取 历史播放记录(视频id)数组
			await this.getStorageLogVideoIDlist()
			await this.isLogVideoIdlist()
		},
		// 获取 历史播放记录(视频id)数组
		getStorageLogVideoIDlist(){
			const value = uni.getStorageSync('logVideoIDList')
			if (value) {
				console.log("获取 历史播放记录(视频id)数组")
				console.log(value)
				// 将值转换为 JSON 字符串，用于请求指定视频ID数据
				this.logVideoIDlistText = JSON.stringify(value)
				// 去除Json数据两边的[]
				this.logVideoIDlistText = this.logVideoIDlistText.replace("[","");
				this.logVideoIDlistText = this.logVideoIDlistText.replace("]","");
				
				console.log("this.logVideoIDlistText")
				 //变成字符串后，以逗号分隔
				console.log(this.logVideoIDlistText)
			}
		},
		isLogVideoIdlist(){
			let log = this.logVideoIDlistText
			console.log("log")
			console.log(log)
			
			if (log){
				console.log("有历史记录，开始更新")
				/* ============================
				 * =  1.获取发送请求前的必要参数
				 * =  2.获取指定的视频id数据
				 * =============================
				 */
				this.getLogVideoRequres()
			}else {
				console.log("暂无历史记录")
			}
		},
		/* ============================
		 * =  1.获取发送请求前的必要参数
		 * =  2.获取指定的视频id数据
		 * =============================
		 */
		getLogVideoRequres(){
			// 获取接口附加链接
			let apivod = this.AppPlayerApi.apivod
			//获取接口返回类型
			let ac_videolist = this.AppPlayerApi.ac_videolist
			//获取接口地址
			let APIjiekoUrl = this.xtsetting.APIjiekoUrl
			//获取指定视频id[历史记录]
			let ids = this.logVideoIDlistText
			
			
			// 定义入口参数 [获取指定视频id数据 - >历史记录]
			let optinos = {
				APIjiekoUrl,
				ac_videolist,
				apivod,
				ids
			}
			this.getLogVideolist(optinos)
		},
		getLogVideolist(options){
			console.log("getLogVideolist,options")
			console.log(options)
			this.request({
				type:'video',//判断请求类型
				url:options.APIjiekoUrl+options.apivod,
				data:{
					ac:options.ac_videolist,//模式
					ids:options.ids//视频id(支持多个)
				}
			})
			.then(res=> {
				console.log("res")
				console.log(res.data.list)
				
				/* =========================================
				 * =  由于NVUE list>cell不支持row水平布局
				 * =  只支持竖向布局，因此这里把数组按照
				 * =  每3个合并成一个新的数组，页面上cell
				 * =  还是渲染item,只不过此时的item已经是
				 * =  3个数组的形式，然后组件里接受item再
				 * =  去循环，就可以实现一排3个视频展示，并
				 * =  且一排还是只用了一个cell。
				 * =========================================
				 */
				//js将每3个数组放到一个新的数组里面
				var data = res.data.list
				var result = []
				for(var i=0;i<data.length;i+=3){
				    result.push(data.slice(i,i+3));
				}
				console.log("result --- 396")
				console.log(result)
				
				//写入历史播放记录视频Item数组
				this.logVideoItemList = result
				
			})
			.catch(err=>{
				console.log("err")
				console.log(err)
				uni.showModal({
					title:"数据请求失败",
					content:"是否重试？",
					success: (res) => {
						if(res.confirm){
							//用户点击确认
							//console.log("用户点击确认")
							this.getLogVideolist(options)
						}else{
							//用户点击取消
							//console.log("用户点击取消")
							uni.showToast({
								title:'用户取消'
							})
						}
					}
				})
			})
		},
	}
}